A typical image forming apparatus that realizes one or more functions based on a device by using an installed application includes an application platform having a plurality of application program interfaces (APIs) for calling an actual process that controls the device.
The typical image forming apparatus includes the application platform in the firmware of the image forming apparatus. Therefore, a new application platform needs to be developed for each new model of the image forming apparatus. Further, a new API may need to be added to the application platform that is supported by the image forming apparatus for each new model.
In an example scenario, an application calls an API that is included on a new application platform, but was not previously included on an old application platform. When an image forming apparatus is provided with the new application platform, an application that calls the API included on that new platform will operate normally. However, if the image forming apparatus is provided with the old application platform that does not include the API called by an application, the application will not operate normally, but may instead discontinue operation, for example.
Therefore, a developer of the application needs to pay attention to which image forming apparatus model supports which API. In addition, a developer of an application must be aware of the capabilities and restrictions of a specific model, such as buttons present on a graphical user interface (GUI), for example. An application developed for one image forming apparatus model such that running that application on a different image forming apparatus may result in failure because of different capabilities and restrictions. In other words, the typical image forming apparatus imposes a heavy load on the development of the application.